INTERACTIVITÉ
Actionscript > Ciblage d’une occurence
par : mc
Exercice inspiré de http://www.flashxpress.net
Vous pouvez donner une instruction à une occurrence, ou modifier une de ses propriétés, depuis la ligne du temps principale, depuis un bouton ou une autre occurrence située sur la scène. Pour cela, vous devez cibler l’occurrence, c’est-à-dire indiquer le chemin à l’instruction en utilisant une syntaxe à point. Par ex. l’instruction clip1.clip2.gotoAndStop(5) ; indique à l’occurrence nommée « clip2 » imbriquée dans l’occurrence nommée « clip1 » d’aller à l’image 5 de sa ligne du temps et de stopper.
Vous pouvez également utiliser une écriture absolue (chemin depuis le niveau 0 de l’animation désigné par _root) ou une écriture relative (chemin depuis l’occurrence sur la scène). Dans la pratique, il n’est pas recommandé d’utiliser _root car cela peut poser problème si des fichiers .swf sont chargés dans d’autres fichiers .swf (par loadMovie). On utilisera plutôt alors _level. J’aborderai bientôt cette question dans l’exercice « Actionscipt > Level » (à paraître prochainement). _this permet à l’occurrence de se cibler elle-même.
_parent permet de remonter d’un niveau dans une occurence imbriquée dans une autre.
Pour mieux comprendre, réaliser l’exercice suivant :
+ Créez un nouveau fichier et créez-y un movieClip représentant un personnage comportant :
Vos occurrences peuvent indifféremment provenir de boutons ou de movieClips.

une
occurrence nommée « visage » comportant une occurrence nommée
« nez » et une autre nommée « bouche ».
une
occurrence nommée « corps » comportant une occurrence nommée
« spirale ». Dans cette dernière, créez une interpolation de
forme ou de mouvement.
une occurrence nommée « brasdroit »
d’autres occurrences pour le bras gauche et les jambes.
+ Déposez une occurrence du movieClip principal sur la scène et nommez-le « perso »
+ Créez un nouveau calque sur la ligne du temps principale et écrivez-y le script suivant :
J’ai volontairement inscrit des chemins différents pour cibler parfois la même occurrence afin de montrer la diversité des chemins possibles.
perso.corps.spirale.stop();
}
>>> au chargement l’occurrence « spirale » imbriquée dans l’occurrence « corps » imbriquée dans l’occurrence « perso » stoppera sur l’image 1 de sa ligne du temps
this._rotation = 180;
}
>>> en cas de survol de l’occurence « bouche » imbriquée dans l’occurrence « visage » imbriquée dans l’occurrence « perso », elle pivotera de 180°.
perso.visage.bouche._rotation = 0;
}
>>> en fin de survol de l’occurence « bouche » imbriquée dans l’occurrence « visage » imbriquée dans l’occurrence « perso », elle se repositionnera à 0°.
this._parent._rotation = 180;
}
>>> en cas de survol de l’occurence « nez » imbriquée dans l’occurrence « visage » imbriquée dans l’occurrence « perso », l’occurrence « visage » pivotera de 180°.
perso.visage._rotation = 0;
}
>>> en fin de survol de l’occurence « nez » imbriquée dans l’occurrence « visage » imbriquée dans l’occurrence « perso », l’occurrence « visage » se repositionnera à 0°.
this._parent.corps.spirale.play();
}
>>> en cas de survol de l’occurence « brasdroit » imbriquée dans l’occurrence « perso », l’occurrence « spirale » imbriquée dans l’occurrence « corps » imbriquée dans l’occurrence « perso » (_parent de « brasdroit ») lancera son animation propre.
perso.corps.spirale.stop();
}
>>> en fin de survol de l’occurence « brasdroit » imbriquée dans l’occurrence « perso », l’occurrence « spirale » imbriquée dans l’occurrence « corps » imbriquée dans l’occurrence « perso » stoppera son animation propre.
this._parent._parent._rotation = 180;
}
>>> en cas de survol de l’occurence « spirale » imbriquée dans l’occurrence « corps » imbriquée dans l’occurrence « perso », l’occurrence _parent de « spirale » imbriquée dans son occurrence _parent (c’est-à-dire le « perso ») pivotera de 180°.
perso._rotation = 0;
}
>>> en fin de survol de l’occurence « spirale » imbriquée dans l’occurrence « corps » imbriquée dans l’occurrence « perso », l’occurrence « perso » se repositionnera à 0°.
+ Publiez.
Téléchargez cet exercice et le fichier .fla ci-dessous

